home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TeX 1995 July
/
TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO
/
biblio
/
bibtex
/
contrib
/
bstfiles.trz
/
bstfiles
/
bibtoref.bst
(
.txt
)
< prev
next >
Wrap
LaTeX Document
|
1992-07-21
|
6KB
|
166 lines
%%% ====================================================================
%%% @BibTeX-style-file{
%%% author = "Ciaran McHale",
%%% version = "1.00",
%%% date = "21 July 1992",
%%% time = "12:34:24 MDT",
%%% filename = "bibtoref.bst",
%%% address = "Department of Computer Science,
%%% Trinity College,
%%% Dublin 2,
%%% Ireland",
%%% telephone = "+353-1-772941 ext 1538",
%%% FAX = "+353-1-772204",
%%% telex = "93782 TCD EI",
%%% checksum = "04276 201 698 5689",
%%% email = "cjmchale@cs.tcd.ie or
%%% cjmchale%cs.tcd.ie@cunyvm.cuny.edu"
%%% codetable = "ISO/ASCII",
%%% keywords = "",
%%% supported = "no",
%%% docstring = "This BibTeX style file translates selected
%%% BibTeX bibliographies entries into UNIX
%%% refer format. It is based on a bib style
%%% file by Kannan Varadhan.
%%% To use it, create a temporary LaTeX file
%%% that contains the \cite{...} entries you
%%% want to convert, or else use \nocite{*} to
%%% convert all of them. Such a file might
%%% look like this:
%%% \documentstyle{article}
%%% \begin{document}
%%% \bibliographystyle{bibtoref}
%%% \nocite{*} % or \cite{...,...,...}
%%% \bibliography{BIBFILENAME}
%%% \end{document}
%%% Run latex then bibtex on the sample file;
%%% the UNIX refer bibliography will appear in
%%% the corresponding .bbl file.
%%% The checksum field above contains a CRC-16
%%% checksum as the first value, followed by the
%%% equivalent of the standard UNIX wc (word
%%% count) utility output of lines, words, and
%%% characters. This is produced by Robert
%%% Solovay's checksum utility.",
%%% }
%%% ====================================================================
ENTRY
{ % entry fields
abstract % non standard
address
annote % non standard
author
booktitle
chapter
edition
editor
howpublished
institution
journal
key
keywords % non standard
month
note
number
organization
pages
publisher
school
series
title
type
volume
year
{} % no integer entry variables
{ label extra.label sort.label } % label entry variables
STRINGS { s t a.name }
FUNCTION {not}
{ { #0 }
{ #1 }
if$
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
INTEGERS { nameptr namesleft numnames }
FUNCTION {handle.names}
{ 't := % type e.g. "A" for authors, "E" for editors
's := % the string containing the names
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 'a.name :=
a.name "others" =
'skip$ % don't print out "%A others"
{ "%" t * " " * a.name * write$ newline$ }
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
FUNCTION {handle.maybe.empty}
't :=
duplicate$
empty$
'pop$
{ "%" t * " " * swap$ * write$ newline$ }
if$
FUNCTION {translate}
newline$ % get a blank line between each entry
title "T" handle.maybe.empty
booktitle "B" handle.maybe.empty
% there may be multiple authors so handle it differently
author empty$
{ " empty author in " cite$ * warning$ }
{ author "A" handle.names }
if$
editor "E" handle.maybe.empty
journal "J" handle.maybe.empty
keywords "K" handle.maybe.empty
cite$ "L" handle.maybe.empty
volume "V" handle.maybe.empty
abstract "X" handle.maybe.empty
% The date, if present may be just the year or both the month and year
% or might even be just the month
month empty$ year empty$ and
'skip$ % no date of publication so nothing to do
{
month empty$ % I'm using the if statement because I'm not
{ "" } % sure that--- month " " year * --- would work.
{ month " " * } % (The manual doesn't mention anything about
if$ % this so I'm playing safe)
year empty$
{ "" }
{ year }
if$
*
"D" handle.maybe.empty
}
if$
pages "P" handle.maybe.empty
note "O" handle.maybe.empty
number "N" handle.maybe.empty
series "S" handle.maybe.empty
annote "Y" handle.maybe.empty
address "C" handle.maybe.empty
FUNCTION {article} { translate }
FUNCTION {book} { translate }
FUNCTION {booklet} { translate }
FUNCTION {inbook} { translate }
FUNCTION {incollection} { translate }
FUNCTION {inproceedings} { translate }
FUNCTION {manual} { translate }
FUNCTION {mastersthesis} { translate }
FUNCTION {misc} { translate }
FUNCTION {phdthesis} { translate }
FUNCTION {proceedings} { translate }
FUNCTION {techreport} { translate }
FUNCTION {unpublished} { translate }
FUNCTION {default.type} { translate }
ITERATE {call.type$}